約 4,311,911 件
https://w.atwiki.jp/perlism/pages/11.html
Perl 【読み】ぱぁる 【属性】プログラミング言語 ラリーウォール氏により開発され、インタプリタ式でC,AWK,シェルライクな、いまやCGIの代名詞と言っても過言ではない、他の言語とは比べ物にならないほど柔軟性に富んだプログラミング言語である。 ただ、その柔軟性が裏目に出ることがほとんどで、Aというプログラムでは通用したコードも、ひとたびBというプログラムで同じものを書くと、全く通用しなくなるといったことが起こりやすい言語である。 某人曰く、「Practical Extraction and Report Language」(実用的データ取得レポート作成言語) また某人曰く、「Pathologically Eclectic Rubbish Lister」(病的折衷主義のガラクタ出力装置)
https://w.atwiki.jp/anthony/pages/44.html
LS-X2.0TLJ通称LS-XLをDebian化します。もともと入っていた2TBのHDDは異音がして壊れ、1.0TBのHDDに装喚して通常のFirmwareが動作するようになって、かつacp_commanderでSSH接続もできるようになっていたのですが、やはりBusyboxでは物足りないので、逝かれた玄箱PROのwheezy化で使っていた2.5inchの300GBのHDDでDebian化することにしました。 クロスコンパイル環境の準備 ARM環境のクロスコンパイル環境については玄箱PROだろうかLinkStationだろうか変わりはありません。 私の場合はすでに作成済みの環境を使って作業します。 LinkStationは玄箱と違ってシリアルコンソールとかu-Bootとかを使う感じではないので、とにかく確実にブートするuImageやinitrdを作成してTFTPで転送するというやり方になるようです。 ■Debianインストール用のuImage作成 # cd /opt # mkdir nasbuild # cd nasbuild # wget http //buffalo.jp/php/los.php?to=gpl/storage/ls-x/165/linux-3.3.4.tar.gz -O linux-3.3.4.tar.gz # tar xzf linux-3.3.4.tar.gz # cd linux-3.3.4 # vi Makefile CROSS_COMPILE ?= arm-none-linux-gnueabi- ↓ CROSS_COMPILE ?= arm-linux-gnueabi- # cp ~/lsxl-install.config .config # make oldconfig # make uImage modules カーネルの取得はkernel.orgではなくbuffaloサイトからの方がいいです。kernel.orgは90数Mでしたが、こちらは130Mあります。buffalo系モジュールが追加で入っています。 ここで使っているlsxl-install.configはこのページに添付してあります。※buffalo/configs/buffalo_nas_fw_88f6281.configにCONFIG_CMDLINEの値を変更したもの ■Debianインストール用のinitrd作成 # cd /opt/nasbuild # mkdir initramfs # cd initramfs # wget http //http.debian.net/debian/dists/unstable/main/installer-armel/current/images/orion5x/network-console/buffalo/ls-chl/initrd.buffalo -O orig_initrd debian配布のinitrd.buffaloではカーネルのバージョンが合わずに正しくブートできないのでモジュール部分を再構築します。 # dd if=orig_initrd ibs=64 skip=1 | zcat orig_initramfs.cpio # dd if=/dev/zero of=initrd bs=1M count=20 # /sbin/mkfs.ext2 initrd # mkdir rootfs # sudo mount initrd rootfs # cd rootfs # sudo cpio -idv ../orig_initramfs.cpio 先ほど作成したカーネルに合わせてモジュールを更新 # sudo rm -fr lib/modules/* # cd ../../linux-3.3.4/ # sudo make INSTALL_MOD_PATH=../initramfs/rootfs/ modules_install # cd ../initramfs/rootfs/ # vi preseed.cfg d-i lowmem/lownote d-i netcfg/get_hostname string unassigned-hostname d-i netcfg/get_domain string unassigned-domain d-i network-console/password password rootme d-i network-console/password-again password rootme # cd .. # sudo umount rootfs # gzip initrd # mkimage -A arm -O linux -T ramdisk -C gzip -a 0x0 -e 0x0 -n initrd -d initrd.gz initrd.buffalo # cd .. preseed.cfgに書いたrootmeは後ほどインストーラーにログインするときのパスワードです。 これまで作ったuImageとinitrdはDebian Installerを起動するためだけのものなので、インストール終了後に使うuImageとinitrdも先に作っておきます。 ■インストール後用のuImage作成 # cd /opt/nasbuild/linux-3.3.4 # vi .config CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/ram0 panic=5 lowmem=1" ↓ CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/sda2 panic=5 lowmem=1" # make uImage # cd /opt/nasbuild # mkdir boot # cp linux-3.3.4/arch/arm/boot/uImage boot/uImage.buffalo sdb2がルートになるようにパーティションを作成する前提です。このページに添付しているlsxl.configを使ってもいいです。 ■インストール後用のinitrd作成 # cd /opt/nasbuild/boot # dd if=/dev/zero of=initrd bs=1M count=1 # /sbin/mkfs.ext2 initrd # gzip initrd # mkimage -A arm -O linux -T ramdisk -C gzip -a 0x0 -e 0x0 -n initrd -d initrd.gz initrd.buffalo 空のinitrdが必要みたいです。 ここまで作っておいてPC環境に転送しておけば、VMwarePlayerを使っている場合はクロスコンパイル環境での作業は終わりになります。 ■TFTPでセットアップ用ファイルの転送 # cd /opt/nasbuild # mkdir tftpboot # cp linux-3.3.4/arch/arm/boot/uImage tftpboot/uImage.buffalo # cp initramfs/initrd.buffalo tftpboot/initrd.buffalo 私の環境ではここまでVMware Player上のDebianで作業しているので、TFTP Serverとこの後に使うSFTP ServerはWindows上で準備しました。 ここではtftpd32を使用します。 PC側はIPアドレスを必ず192.168.11.1にする必要があります。DHCP環境なら静的に割り当てておく必要があります。 uImage.buffaloとinitrd.buffaloを転送できる準備をしてLS-XLを起動します。 その時必ずTFTPブートになるようにHDDを外した状態で電源を入れ、5秒くらいしたらHDDを取り付けるようにするとうまくいきます。 すると192.168.11.150からアクセスがあります。 TFTPサーバー側でこれらのファイルが転送されるのを確認します。 転送が完了したらSSHでインストーラーに接続します。私の環境ではMACアドレスで必ず192.168.3.40になるようにセットしておきました。HDDがない時のTFTPブートするときとは異なり、DHCPでIPアドレスを取得して再起動してきます。 PC側のIPアドレスをDHCPに戻して元のネットワークに接続可能な状態にします。その後、 ssh installer@192.168.3.40 パスワードは先ほど設定したrootmeです。 ■Debian Installer (省略) とはいえ色々注意点あり。 Installer componentsでは、openssh-client-udebとpartman-ext3を選択する ディスクパーティションの初期化ではGPTを選択する 一番最初にext3で/bootに256MBほど割り当てる 次にext3で/に20GBほど割り当てる 次にswapで2GBほど割り当てる 次にext3で残りをmax割り当てる カーネルがない状態になっていると聞かれてもそのまま続行する Software selectionではSSH ServerとStandard System Utilitiesだけが選択する Continue without boot loaderまでいったらFinish the installationを選択する前にExecute a shellを選択する そしてuImageとinitrdの置き換えに移ります。 ■最後のuImageとinitrdの置き換え まずは裏でSFTPサーバーの準備が必要です。 私はfreeFTPdを使いました。 先にUsersで以下を登録 Login inst Authorization Password stored as SHA1 hash Password inst 次にSFTPでListen Addressを選択してStart ルートディレクトリのinstフォルダ内にuImage.buffaloとinitrd.buffaloを配置 # cd /target/boot # sftp test@192.168.3.9 inst ls uImage.buffalo initrd.buffalo inst get uImage.buffalo uImage.buffalo inst get initrd.buffalo initrd.buffalo inst exit # exit インストーラーに戻ってFinish the installationを選択 以上。 再起動後に/lib/modulesがないのでセットアップの後処理を継続する。tftpboot用に作成したinitrd.buffaloに入れてあるので、そこから取り出す。 /opt/tftpboot/initrd.buffaloに配置 # cd /opt/tftpboot # dd if=initrd.buffalo of=initrd.gz bs=64 skip=1 # gunzip initrd.gz # mkdir /tmp/root # mount -o loop initrd /tmp/root # cp -arv /tmp/root/lib/modules/3.3.4-88f6281 /lib/modules # umount /tmp/root # rm -fr initrd
https://w.atwiki.jp/kurushima/pages/13.html
Debian OpenSSL問題のまとめ 初版:2008年5月24日 改訂:2008年6月3日 Debian OpenSSL問題のまとめはじめに 鍵が脆弱かどうかの確認方法 問題あるパッケージかどうかの確認方法 dowkd Debian/OpenSSL Weak Key Detector openssl-blacklist-0.1 の openssl-vulnkeyはなぜ駄目か openssl-blacklist-0.3.1のopenssl-vulnkeyではどうか 今となっては役に立たない自作のツール(--; 生成される鍵の「場合の数」 リンク集 DebianのOpenSSLはどのように修正されたか dowkdとopenssl-blacklistのブラックリスト生成の違い PKCS8秘密鍵→SSH2公開鍵変換ツール SSH2X509鍵変換ツール ブラックリストのメモ はじめに 2008年5月13日にDebian系のOS上で動作するOpenSSL、OpenSSHなどで、 RSAやDSA暗号の鍵が予測される可能性があるという脆弱性が報告されました(1)(2)。 Debian系のOSのOpenSSLは乱数のタネとしてプロセスIDに基づく数を 使用しており非常に限定された種類の鍵しか生成されないため、 プロセスID総当りで相手の鍵と同じ秘密鍵を生成することができ、 秘密鍵の複製を誰もが持つことができてしまいます。 以下のようなケースでは、鍵のチェックツールで 脆弱な鍵を使っていないか、通信先がそのような鍵を使っていないか 確認した方がいいと思います。 Debian系でSSHログインをするための鍵を生成した Debian系でSSLサーバー・クライアント、S/MIME証明書を生成した Debian系でOpenVPNの鍵を生成した OSにかかわらずWindowsであろうが、SolarisであろうがSSHやSSLクライアント認証、OpenVPNなどのサーバーを運営している場合、その通信相手の鍵が特定のDebian系で作られたものでないか? 最後のサーバー側については、相手がDebianを使っているかどうかなど判断できないので、サーバーがDebianであるかは関係なしに全てのSSH、OpenVPNサーバーの利用者は認証されたクライアント鍵のリストに脆弱な鍵が含まれていないか確認した方がよいと思います。 SSLクライアント認証の場合には、可能ならばSSLサーバー管理者が全てのクライアント証明書を持っている場合には、不正な証明書と鍵による認証を受理してしまわないようにチェックをしたほうが良いでしょう。 この脆弱性問題の根が深いと思うのは、単にソフトウェアのセキュリティ アップデートをかければ問題解決というわけにはいかず、 過去に生成してしまったSSHの鍵やX.509証明書の鍵を入れ替えない限り 問題が解決しないことにあります。 鍵が脆弱かどうかの確認方法 本メモ執筆時点(2008.05.30)では「最新」のdowkdでチェックすることをオススメします。openssl-blacklist-0.1や0.3.1に付属のopenssl-vulnkeyは使い物になりません。 openssh-blacklist-0.1によるチェックも、対象となる鍵の種類が限定的なのでオススメしません。 問題あるパッケージかどうかの確認方法 以下のコマンドにより確認します。 % dpkg -s openssl | egrep Version Version 0.9.8c-4 % dpkg -s libssl0.9.8 | egrep Version Version 0.9.8c-4 ディストリビューションにより修正された版が異なります。 ここに記載されていないものについては、 他で調べてみてください。 ディストリビューション 構築直後 脆弱な版 修正版 Debian 5.0 lenny (2008Q3) 0.9.8g-9以前 0.9.8g-10?0.9.8g-10.1?0.9.8g-10+lenny1 Debian Live lenny (2008.04.28) 0.9.8g-8 0.9.8g-9以前 Debian 4.0 etsh (2008.04.08) 0.9.8c-4 0.9.8c-4etch1以前 0.9.8c-4etch3 Debian 3.1 sarge (2005.06.06) 不明 脆弱性無し Ubuntu 8.04 LTS 0.9.8g-4ubuntu3 0.9.8g-4ubuntu3以前 0.9.8g-4ubuntu3.1 Xubuntu 8.04 (Hardy Helon) 0.9.8g-4ubuntu3 0.9.8g-4ubuntu3以前 0.9.8g-4ubuntu3.1 Kubuntu 8.04 (Hardy Helon) 0.9.8g-4ubuntu3 0.9.8g-4ubuntu3以前 0.9.8g-4ubuntu3.1 Knoppix 5.1.1 (2007.01.05) 0.9.8c-4 0.9.8c-4 不明 dowkd Debian/OpenSSL Weak Key Detector dowkdは鍵をチェックするPerlスクリプトで 脆弱性の発覚した初期版(2008.05.15頃)は OpenSSHおよびOpenVPNの鍵しかチェックできませんでしたが 2008.05.30時点の版ではPEM型式のX.509証明書やPINの無い PKCS#8 PEM型式の秘密鍵もチェックすることができます。 また、対応しているブラックリストもOpenSSL/OpenSSH/OpenVPN、RSA/DSA、 1024/2048/4096と一番多いのではないかと思います。 以下のURLでダウンロードできます。 http //repo.or.cz/w/dowkd.git 「master」のマークのついた行で「snapshot」をクリックすると tar.gzアーカイブがダウンロードできます。 解凍し、makeを実行しdowkdスクリプトを生成してください。 openssl-blacklist-0.1 の openssl-vulnkeyはなぜ駄目か openssl-blacklist-0.1 パッケージに含まれている openssl-vulnkeyというPythonスクリプトが含まれていますが 脆弱性チェックの対象が 「PINで保護されていないPKCS#8 PEM型式の秘密鍵」 のみとなっています。 PINで保護されないPEM型式の秘密鍵をファイルとして 持っているケースは殆どなく、また、この方法では 相手の証明書が脆弱な鍵を使っているかどうかは わかりません。 また、ハッシュの一致確認で"Modulus=XXXXXX..."という余計な部分を 含んだもののハッシュで比較しているので脆弱だと一致することはありません。 パッケージに含まれる脆弱なPKCS#8秘密鍵の例 examples/bad_rsa.key を対象に チェックしてみても、脆弱だと判定できません。 この件に関しては、作者のJamie Strandbogeさんに問い合わせていますが、 回答はありません。(2008.05.30現在) ちなみに前述の dowkd を使えば正しく脆弱であると判定できます。 % dowkd file bad_rsa.key bad_rsa.key 1 weak key (OpenSSL/RSA/1024) summary keys found 1, weak keys 1 openssl-blacklist-0.3.1のopenssl-vulnkeyではどうか 2008年5月31日にopenssl-blacklist-0.3.1があって 鍵検証Pythonスクリプト openssl-vulnkey も更新されているようなので 見てみました。0.1と比較して公開鍵証明書もチェックできるようです。 で、サンプルにあるものを再度チェックしてみたところ、 openssl-vulnkey examples/bad_rsa.key Not blacklisted ... 中略 ... examples/bad_rsa.key 相変わらず "Modulus=..."をハッシュ対象にしているので、 脆弱性検証ができないままです。 今となっては役に立たない自作のツール(--; 脆弱性報告があった当時(2008.05.15)頃、OpenSSHやOpenVPNの鍵は チェックできても、X.509公開鍵証明書やその秘密鍵をチェックする ツールが世に無いことを憂いて作ったX.509公開鍵証明書、 PKCS#8 秘密鍵からSSH2公開鍵を生成するJavaプログラムです。 これを使えば公開鍵証明書もSSHの鍵チェックツールでチェックできます。 (実際に、昔持っていた自分のDebian環境のApacheのサーバー証明書の鍵は 脆弱であることがわかりました。) 今となってはdowkdを使えばいいので、無用の長物ですが、 学習目的で参考いただければ幸いです。 X.509証明書からSSH2公開鍵を生成するツール(Java) PKCS#8秘密鍵からSSH2公開鍵を生成するツール(Java) 生成される鍵の「場合の数」 今回の問題を含むDebian系OSではプロセスID(1~32767)を元に鍵が作られます。 同じCPUアーキテクチャ 同じ鍵アルゴリズム 同じ鍵長 $HOME/.rndファイルの有無(ファイル内容には無関係)かファイルサイズゼロ では32767通り(もしくは.rndの有無かゼロに配慮するなら32767×3)の鍵しか生成されません。 ブラックリストを見ればおわかりの通り カテゴリ毎に32767個のリストになっています。 疑問1 64bit OSの場合でもプロセスID 1~32767しかブラックリストに載っていませんが、これでいいのかな?プロセスID空間もっと広いんじゃないのかな?(2008.06.02) リンク集 Debian JP OpenSSL問題Q&A Debian JP 証明書発行サービス各社の再発行対応のまとめ Debian JP OpenSSLパッケージの脆弱性とその影響について 2008年5月15日 Debian Wiki SSLKeys JPCERT Debian GNU/Linux に含まれる OpenSSL/OpenSSH の脆弱性に関する注意喚起 2008.05.16 Debian Security Announce DSA 1571-1 New openssl packages fix predictable random number generator 2008.05.13(発信源) NIST National Vulnerability DB CVE-2008-0166 2008.05.13 日本Linux協会blog OpenSSL問題その後 2008.05.15 自堕落な技術者の日記 2008.05.18 DebianやUbuntuな方々、鍵は大丈夫ですか? 自堕落な技術者の日記 2008.05.19 Debian OpenSSLで生成されたX.509証明書の脆弱性チェック法(1) 自堕落な技術者のヰキ 2008.06.02 DebianのOpenSSLはどのように修正されたか https //launchpad.net/ubuntu/intrepid/i386/openssh-client/1 4.7p1-10ubuntu1 https //launchpad.net/ubuntu/intrepid/i386/openssl-blacklist/0.3.1 https //launchpad.net/ubuntu/intrepid/i386/openssh-blacklist/0.4.1 https //launchpad.net/ubuntu/intrepid/i386/openssh-blacklist-extra/0.4.1 metasploit.com Debian OpenSSL Predictable PRNG Toys スラッシュドットジャパン Debianのopensslパッケージに欠陥発覚 2008.05.15 しかし、最初「DSA 1571-1」というのを見て「DSA鍵しか影響なくRSAはOKなんだ~~~」と 勘違いしていたら「Debian Security Announce」の事だったと気づいたのは 私だけでしょうか、、、、、
https://w.atwiki.jp/atwikimyj/pages/15.html
perlバージョンアップ後に出てくる問題 perlのバージョンアップをすると、影響の出るものの一つに mod_perlがあるようだ。 perlのバージョンをあげて、mod_perlを利用してperlを起動させると Apacheの起動時に DynaLoader object version 1.05 does not match $DynaLoader VERSION (以下メッセージは延々続く・・) というようなエラーが出てhttpd自体が起動しなくなった。 DynaLoaderのバージョンがマッチしない・・? そもそもDynealoderって何? 調べると、perlからCで書かれたプログラムを呼び出すことができる モジュールらしい。 とりあえず再インストールを試みる。しかしCPANではそんなモジュールは 存在しない!とエラーで怒られる。調べるとperlのアプリケーション内に デフォルトでついてくるものらしい。なので個別でインストールとかは できないらしい。 手詰まり。何がおきているのやら、、。 ということでさらにエラーメッセージから調べる。 私と同じ問題にあたった人をapacheのメーリングリストで発見。 Mailing list archives(Apache-ML) http //mail-archives.apache.org/mod_mbox/perl-dev/200411.mbox/%3c20041119124457.GB3387@bongo%3e 結局 「perlをアップグレードしたら、mod_perlの静的なリンクが外れるから、 毎回mod_perlのrebuildが必要だよ」 というお答えが出ていた。。 つまり、CGIではなく、apache起動時にモジュール読ませて起動するperlは mod_perlになるのだが、このmod_perlが読み込むライブラリとDynaLoaderの ライブラリが不整合を起こしている(らしい)。なのでmod_perlをrebuild することでライブラリの整合が図れる、、はず。 mod_perlのrebuild rebuildだけやりたいけど、、よくわからん。大体意味もわからずにインス トールすると後で泣きを見る。とくにmod_perlってバージョンとか整合性 とかいろいろとデリケートだったような、、。 Apache1.xの環境ではmod_perl1.xを組み合わせ、 Apache2.xの環境ではmod_perl2.xを組み合わせる必要がある。 静的なインストールと動的なインストールがある 基本的にはapacheとmod_perlの両方を一度にビルドするべき などの情報がわかる。また、注意したいのは、mod_perl1.xについての情報 はたくさんあるが、MP2の情報は少なめ。よく読んでMP2の資料を探さないと いけない。 ということで下記が参考になった。 HATENA Diary NAOYA 「■ 10分で完了、mod_perl 2.0 で Hello, World!」 http //d.hatena.ne.jp/naoya/20060108/1136705441 isoya9の日記 「 [Linux] CentOS4 に mod_perl 2.02 をインストールする」 http //isoya.at.webry.info/200610/article_25.html 動的にmod_perlをインストールする場合は、先にapxsを インストールする必要がある。 # whereis apxs とコマンドを打って、何も出てこないのでapxsがインストール されていないことがわかった。 ということでWEBを参考にしながらapxsのインストール apxsはhttpd-develに含まれるため、 #yum install httpd-devel でインストールは終わり。 $ wget http //perl.apache.org/dist/mod_perl-2.0-current.tar.gz apacheのAPI削除 MP2インストール 上記のWEBサイトのとおりに作業をしてすんなりインストール完了。
https://w.atwiki.jp/tshrwiki/pages/16.html
TODO 下準備 debianインストール バックアップからの復旧 SSMTPインストール hotmail → hotway → fetchmail → procmail → ssmtp → gmail TODO ddclient で動的IPアドレスでも固定的アクセス SSH で SSH トンネル(For VNC) アンチウィルスソフト clamav Samba + lpd でプリンタサーバ Apache + mrtg(rrd) + snmp でトラフィック監視 Webカメラ 下準備 必要ファイルdebian_2006_06_10_dist.tgz kernelimage-2.6.20-kuroBOX.tgz modules-2.6.20-kuroBOX.tgz ↑ここまでは必須 debianインストール 2007.03.22 作成 玄箱 EMモードにする。# echo -n "NGNG" /dev/fl3 # echo -n "NGNG" /dev/mtdblock2 # sync # sync # reboot 割り当てアドレスを確認する。DHCPクライアントモードで起動するのでDHCPサーバよりどのアドレスが振られたかを確認する。ホスト名は「KURO-BOX-EM」が設定されている。 192.168.1.108 telnetでログインする。ユーザ/パスワードはroot/kuro。 ファイルシステムを作成する。# mke2fs -j /dev/hda1 ファイルシステムをマウントする。# /bin/mount -t ext3 /dev/hda1 /mnt # /bin/mount -t ext3 /dev/hda3 /mnt2 debian化アーカイブを展開する。# cd /mnt # tar xvzf /mnt2/debian_2006_06_10_dist.tgz 設定ファイルのいくつかをコピーしておく。# cd /mnt2 # cp interfaces /mnt/etc/network/ # cp hosts /mnt/etc/ # cp hosts.allow /mnt/etc/ # cp resolv.conf /mnt/etc/ # cp sources.list /mnt/etc/apt/↑でエラー → ファイル無し。 EMモードから抜けて再起動する。# echo -n 'OKOK' /dev/fl3 # reboot telnetでログインする。ユーザ/パスワードはtmp-kun/tmp-kun。 rootのパスワードを変更する。$ su - ↑ パスワードはroot。 # passwd root ユーザアカウントを作成する。# adduser ユーザアカウントを設定して、パスワードを設定して、後は何も無しで最後にyで終わり。 デフォルトのユーザアカウントtmp-kunを削除する。一度全て、ログアウトして、再度、telnetでログインする。 ユーザ/パスワードは先ほど作ったもの。 $ su - # deluser --remove-home tmp-kun とりあえずアップデートする。# apt-get update # apt-get dist-upgrade 途中で聞かれる質問は全てデフォルトでOK。 eximの設定は5を選択する。 ProFTPdが立ち上がらないとか言っているような気がするが気にしない。 使うソフトウェアのインストールする。# apt-get install ntpdate ssh sudo vim logwatch wget ntp-simple sshは全てデフォルトでOK。eximが設定されてなくてなんかエラーを吐いているが気にしない。 時刻あわせをする。# /etc/init.d/ntp-server stop # ntpdate ntp.jst.mfeed.ad.jp # cp /mnt/ntp.conf /etc/ # /etc/init.d/ntp-server start sshdの設定をする。# cp /mnt/sshd_config /etc/ssh/ # /etc/init.d/ssh restart sudoの設定をする。# visudo [username][TAB]ALL=(ALL) NOPASSWD ALL kernelを2.6系に変更する。# cd /boot # tar xvfz /mnt/kernelimage-2.6.20-kuroBOX.tgz # sync # sync # reboot カーネルモジュールのインストール# apt-get install module-init-tools # cd /lib/modules # tar xvfz /mnt/modules-2.6.20-kuroBOX.tgz # depmod -a # sync # sync # reboot ここまでの状態をバックアップしておく。EMモードでバックアップする。# echo -n "NGNG" /dev/mtdblock2 ↑ kernel 2.6系のときのみ # sync # sync # reboot telnetでログインする。IPアドレスはDHCPよりリースされたものなので注意。 ユーザ/パスワードはroot/kuro。 # mount /dev/hda1 /mnt # mount /dev/hda3 /mnt2 # cd /mnt # tar cvf /mnt2/backup20070322.tar . ↑ 最後の「.」(ドット)を忘れないように。 # echo -n "OKOK" /dev/fl3 # sync # sync # reboot telnetでログインする。 $ su - # gzip /mnt/backup20070322.tar 完了。 バックアップからの復旧 EMモードにする。$ su - # echo -n "NGNG" /dev/fl3 # echo -n "NGNG" /dev/mtdblock2 # sync # sync # reboot telnetでログインする。ユーザ/パスワードはroot/kuro。 ファイルシステムを作成する。# mke2fs -j /dev/hda1 ファイルシステムをマウントする。# /bin/mount -t ext3 /dev/hda1 /mnt # /bin/mount -t ext3 /dev/hda3 /mnt2 バックアップしたアーカイブを展開する。# cd /mnt # tar xvfz /mnt2/backup.tar.gz ↑ ファイル名は実際のバックアップしたファイル名にする。 EMモードから抜けて再起動する。# echo -n "OKOK" /dev/fl3 # sync # sync # reboot SSMTPインストール ここからはまだ未完成。 $ su - # apt-get install ssmtp ↑ exim のアンインストールも同時に行われる。 # cd /etc/ssmtp/ # mv ssmtp.conf ssmtp.conf.20070324 # mv revaliases revaliases.20070324 # vi ssmtp.conf # vi revaliases hotmail → hotway → fetchmail → procmail → ssmtp → gmail hotmailに転送機能さえあればいらないのに。
https://w.atwiki.jp/linuxjapanwiki/pages/93.html
Debian GNU/Linux
https://w.atwiki.jp/karate405/pages/18.html
Perl module checker #!/bin/sh PERL_MODULE_LIST="/Template /AppConfig /Text/Wrap /File/Spec /Data/Dumper \ /DBD/mysql /DBI /Date/Parse /CGI/Carp /GD/ /Chart/Base \ /XML/Parser /MIME/Parser" find_perl_modules() { find `perl -e foreach(@INC){ next if( ! -d $_); print "$_ " unless /^\.$/} ` -name *.pm -print|grep "$1" /dev/null if [ $? -ne 0 ]; then echo "not found $1"; fi } for W in $PERL_MODULE_LIST do find_perl_modules $W done http //hp.vector.co.jp/authors/VA013241/webapp/bugzilla/freebsd51.html
https://w.atwiki.jp/atwikimyj/pages/25.html
参考 [http //d.hatena.ne.jp/ZIGOROu/20061105/1162736838] CPAN [http //search.cpan.org/~mschilli/Log-Log4perl-1.10...] use宣言 use Catalyst Log Log4perl; ※Catalystのプラグインではない。 * log吐き出し先ファイルを設定(confのパーミッションを775にしてね) PACKAGE- log(Catalyst Log Log4perl- new("/var/www/vhosts/hoge.net/conf/log4perl.conf")); #PACKAGE setup; わからないけどsetupのメソッドを使うとエラーになる(なぜかDB内のUserテーブルが読めない!というエラー なんなんだ。。) エラーログにエラーが出る Log Log4perl configuration looks suspicious No loggers defined at /usr/local/lib/perl5/site_perl/5.8.8/Log/Log4perl/Config.pm line 308., referer http //hoge.net/user/Login/ ロガーを定義していないと思う、、とかわいいログが残っている。 confに何もかかれていない。でもエラーログにはいつもよりいろんなログが 出るようになった。 これでいいような。。。confの意味は?
https://w.atwiki.jp/lambda/pages/19.html
UVCインストール apt-get install subversion apt-get install linux-headers-`uname -r svn checkout svn //svn.berlios.de/linux-uvc/linux-uvc/trunk cd trunk make make install USBカメラを接続してドライバーが起動するかどうかを確認。 dmesgで見える。 または/var/log/messagesや/var/log/syslogを覗けばメッセージが見れる。 インストールしたときはドライバーが起動しなかったように見えたが、別の日に同様に行った時はUSBカメラを接続するとドライバーが起動するのが見えた。 syslog Feb 14 12 30 55 debian kernel usb 4-4 new high speed USB device using ehci_hcd and address 7 Feb 14 12 30 55 debian kernel usb 4-4 configuration #1 chosen from 1 choice Feb 14 12 30 55 debian kernel uvcvideo Found UVC 1.00 device USB 2.0 Camera (0c45 62e0) Feb 14 12 30 55 debian kernel uvcvideo UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. Feb 14 12 30 55 debian kernel input USB 2.0 Camera as /class/input/input6 Feb 14 12 30 55 debian NetworkManager debug info ^I[1234582255.487693] nm_hal_device_added () New device added (hal udi is /org/freedesktop/Hal/devices/usb_device_c45_62e0_noserial ). Feb 14 12 30 55 debian NetworkManager debug info ^I[1234582255.624580] nm_hal_device_added () New device added (hal udi is /org/freedesktop/Hal/devices/usb_device_c45_62e0_noserial_if1 ). Feb 14 12 30 55 debian NetworkManager debug info ^I[1234582255.758414] nm_hal_device_added () New device added (hal udi is /org/freedesktop/Hal/devices/usb_device_c45_62e0_noserial_if0 ). Feb 14 12 30 55 debian NetworkManager debug info ^I[1234582255.819409] nm_hal_device_added () New device added (hal udi is /org/freedesktop/Hal/devices/usb_device_c45_62e0_noserial_if0_video4linux ). Feb 14 12 30 55 debian NetworkManager debug info ^I[1234582255.983489] nm_hal_device_added () New device added (hal udi is /org/freedesktop/Hal/devices/usb_device_c45_62e0_noserial_usbraw ). Feb 14 12 30 56 debian NetworkManager debug info ^I[1234582256.232919] nm_hal_device_added () New device added (hal udi is /org/freedesktop/Hal/devices/usb_device_c45_62e0_noserial_if0_logicaldev_input ). messages Feb 14 12 30 55 debian kernel usb 4-4 new high speed USB device using ehci_hcd and address 7 Feb 14 12 30 55 debian kernel usb 4-4 configuration #1 chosen from 1 choice Feb 14 12 30 55 debian kernel uvcvideo Found UVC 1.00 device USB 2.0 Camera (0c45 62e0) Feb 14 12 30 55 debian kernel uvcvideo UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. Feb 14 12 30 55 debian kernel input USB 2.0 Camera as /class/input/input6 fswebcamで動作確認 UVCはV4L2対応らしい。V4L2に対応したアプリでなければ動作しないようだ。 apt-get install libgd2-dev mkdir workdir cd workdir wget http //www.firestorm.cx/fswebcam/files/fswebcam-20070108.tar.gz tar zxvf fswebcam-20070108.tar.gz cd fswebcam-20070108 ./configure make make install $ fswebcam -d /dev/video0 -p YUYV -r 352x288 output.jpeg 暗いし、同期がずれている。いまのところ対処不明。 2011.3.21追記 ubuntu 10.10にて確認したところ、以下のように状況は変化していました。 旧:apt-get install libgd2-dev 新:apt-get install libgd2-xpm-dev 旧:wget http //www.firestorm.cx/fswebcam/files/fswebcam-20070108.tar.gz 新:wget http //www.firestorm.cx/fswebcam/files/fswebcam-20101118.tar.gz カメラがLogicoolになったので色々違うが、同期も正常、明るさも問題なくなっていた。 あと、ubuntu-10ではuvcドライバはデフォルトで組み込み済みなのでインストールの必要ありません。 参考にしたURL Linux 備忘録 日曜大工的科学工作 Webcam-PukiWiki おもしろいことない? SmellmanWiki
https://w.atwiki.jp/atwikimyj/pages/88.html
PLESK環境での話。 某PLESK環境のVPSでmod_perl2を使おうとしたが、 ApacheはVersion2なのだが、mo_perlが1.99だった。 ということでmod_perl2にアップグレードする。 このサイトを思いっきり参考にさせていただきました。 isoya9の日記 Linux CentOS4 に mod_perl 2.02 をインストールす>る 1.apxsをインストール 確認すると下記のパスに /usr/sbin/apxs が存在。つまりapxsがインストールされていたので次の工程へ。 2.既存 Apache2 API を削除 $ find /usr/lib/perl5 -name Apache2* -exec rm -rf {} \; $ find /usr/lib/perl5 -name Apache2* -exec ls -lR {} \; perlライブラリ内のApache2関連のAPIを根こそぎ削除しています。 実行後は何も表示されません。 3.mod_perl2の入手とインストール Apacheのmod_perlのページ からインストールをします。 ほかのアプリケーションと同じように、ダウンロード、 解凍、make、make test、make installでOK。 途中でapxsのパスを聞かれるのでインストールした 時のパス(/usr/sbin/apxs)を入力する必要があります。 ここでmod_perl2がインストールされているかチェック #!/usr/bin/perl print "Content-Type text/plain\n\n"; print ($ENV{ MOD_PERL } || ERROR ); 上記のような簡単なスクリプトを作成し、 mod_perl_test.pl と名づけ(今回のPLESK環境では拡張子plで のみmod_perl2による動作をすることになっ ている)、実際に実行してみる。 mod_perl/2.0.3 というような表示がされればとりあえず バージョンアップに成功。だめな場合は ERRORが出るので次の作業に。 4.CPANからmod_perl2をインストール もし3までの作業で、mod_perl2が動かなかったら apacheのエラーログを見てみる。PLESK環境であれば virtualHostのエラーログとなる。 /var/www/vhosts/DOMAINNAME.COM/statistics/logs の中のerror_log になるだろう。 その中に failed to resolve handler `ModPerl Registry Can t locate ModPerl/Registry.pm in @INC (@INC (略) というようなエラーが出ていたら、たぶん、 mod_perl2用のモジュールを入れる必要がある。 ということで $perl -MCPAN -e shell \ cpan install mod_perl2 ここで、インストールに失敗する場合はたぶんroot権限で サーバにログインしてこの作業をしようとしているのでは ないかと思われる。その場合は途中で出てくるテストを すべてスキップする。 [warning] result [ error] You are running the test suite under user root . Apache cannot spawn child processes as root , therefore こんなwarningが出るのでここでスキップするか聞いてくるので YESを選ぶとスキップできる。 また、この作業の中で /usr/lib/httpd/modules/mod_perl.so というファイルを作成しようとするが、すでにこのファイルが 存在する場合はエラーになってしまう(そういうメッセージが 出る) その場合は上記のファイルをリネームして再度この作業を 実行させればよい。 これで再度 mod_perl_test.pl を実行してみるとおそらくmod_perlのバージョンが表示される はずである。